package cn.com.api.controller;

import java.io.PrintWriter;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;

import cn.com.api.entity.ApiT_message;

import cn.com.api.service.ApiT_messageService;
import cn.com.util.*;

@Controller
@RequestMapping(Utils.SYS_API + "t_message/")
public class ApiT_messageController {
	@Autowired
	private ApiT_messageService apiT_messageService;

	private static Logger logger = Logger.getLogger(ApiT_messageController.class);

	/**
	 * 新增
	 * 
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "insertT_message")
	public void insertT_message(HttpServletRequest request, HttpServletResponse response) throws Exception {

		String id = request.getParameter("id");
		String orderid = request.getParameter("orderid");
		String shop_id = request.getParameter("shop_id");
		String u_id = request.getParameter("u_id");
		String messagetype = request.getParameter("messagetype");
		String is_send = request.getParameter("is_send");
		String status = request.getParameter("status");
		String inserttime = request.getParameter("inserttime");
		String operatetime = request.getParameter("operatetime");
		String title = request.getParameter("title");
		String content = request.getParameter("content");
		String ext_1 = request.getParameter("ext_1");
		String ext_2 = request.getParameter("ext_2");
		String ext_3 = request.getParameter("ext_3");
		String ext_4 = request.getParameter("ext_4");
		String ext_5 = request.getParameter("ext_5");

		Map<String, Object> map = new HashMap<String, Object>();

		try {
			if (id != null && !"".equals(id.trim())) {
				ApiT_message t_message = new ApiT_message();

				/*
				 * t_message.setId(id); t_message.setOrderid(orderid);
				 * t_message.setShop_id(shop_id); t_message.setU_id(u_id);
				 * t_message.setMessagetype(messagetype);
				 * t_message.setIs_send(is_send); t_message.setStatus(status);
				 * t_message.setInserttime(inserttime);
				 * t_message.setOperatetime(operatetime);
				 * t_message.setTitle(title); t_message.setContent(content);
				 * t_message.setExt_1(ext_1); t_message.setExt_2(ext_2);
				 * t_message.setExt_3(ext_3); t_message.setExt_4(ext_4);
				 * t_message.setExt_5(ext_5);
				 */
				apiT_messageService.insertT_message(t_message);
				// return
				map.put(Utils.RESULT, Utils.RESULT_RC_SUCCESS);
				map.put(Utils.MESSAGE, "添加成功！");
			}
		} catch (Exception e) {
			logger.error(e);
			e.printStackTrace();
			map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
			map.put(Utils.MESSAGE, "系统异常！");
		}

		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.print(JsonUtil.object2json(map));
		out.close();
	}

	/**
	 * 根据id查询
	 * 
	 * @param request
	 * @param response
	 * @return
	 */
	@RequestMapping("/findT_messageById")
	public void findT_messageById(HttpServletRequest request, HttpServletResponse response) throws Exception {

		Map<String, Object> map = new HashMap<String, Object>();
		try {
			String id = request.getParameter("id");
			ApiT_message t_message = apiT_messageService.findT_messageById(Integer.valueOf(id));

			// return
			map.put("datas", t_message);
			map.put(Utils.RESULT, Utils.RESULT_RC_SUCCESS);
			map.put(Utils.MESSAGE, "查询成功！");
		} catch (Exception e) {
			logger.error(e);
			e.printStackTrace();
			map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
			map.put(Utils.MESSAGE, "系统异常！");
		}

		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.print(JsonUtil.object2json(map));
		out.close();

	}

	/**
	 * 查询数据集
	 * 
	 * @param request
	 * @param response
	 * @return
	 */
	@RequestMapping("/findT_messages")
	public void findT_messages(HttpServletRequest request, HttpServletResponse response) throws Exception {

		Map<String, Object> map = new HashMap<String, Object>();
		try {
			List<ApiT_message> t_messages = apiT_messageService.findT_messages();

			// return
			map.put("datas", t_messages);
			map.put(Utils.RESULT, Utils.RESULT_RC_SUCCESS);
			map.put(Utils.MESSAGE, "查询成功！");
		} catch (Exception e) {
			logger.error(e);
			e.printStackTrace();
			map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
			map.put(Utils.MESSAGE, "系统异常！");
		}

		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.print(JsonUtil.object2json(map));
		out.close();

	}

	/**
	 * 修改
	 * 
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	@Transactional
	@RequestMapping(value = "updateT_message")
	public void updateT_message(HttpServletRequest request, HttpServletResponse response) throws Exception {

		String id = request.getParameter("id");
		String orderid = request.getParameter("orderid");
		String shop_id = request.getParameter("shop_id");
		String u_id = request.getParameter("u_id");
		String messagetype = request.getParameter("messagetype");
		String is_send = request.getParameter("is_send");
		String status = request.getParameter("status");
		String inserttime = request.getParameter("inserttime");
		String operatetime = request.getParameter("operatetime");
		String title = request.getParameter("title");
		String content = request.getParameter("content");
		String ext_1 = request.getParameter("ext_1");
		String ext_2 = request.getParameter("ext_2");
		String ext_3 = request.getParameter("ext_3");
		String ext_4 = request.getParameter("ext_4");
		String ext_5 = request.getParameter("ext_5");

		// String id = request.getParameter("id");
		Map<String, Object> map = new HashMap<String, Object>();

		try {
			if (id != null && !"".equals(id.trim())) {
				ApiT_message t_message = new ApiT_message();
				// 获取原数据
				t_message = apiT_messageService.findT_messageById(Integer.valueOf(id));
				// 修改
				// t_message.setIs_open(Integer.valueOf(is_open));
				//
				int ret_i = apiT_messageService.updateT_message(t_message);

				map.put(Utils.RESULT, Utils.RESULT_RC_SUCCESS);
				map.put(Utils.MESSAGE, "编辑成功！");
			} else {
				map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
				map.put(Utils.MESSAGE, "检查失败！");
			}
		} catch (Exception e) {
			logger.error(e);
			e.printStackTrace();
			map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
			map.put(Utils.MESSAGE, "系统异常！");
		}

		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.print(JsonUtil.object2json(map));
		out.close();
	}

	/**
	 * 删除
	 * 
	 * @param request
	 * @param response
	 * @return
	 * @throws Exception
	 */
	@RequestMapping(value = "deleteT_message")
	public void deleteT_message(HttpServletRequest request, HttpServletResponse response) throws Exception {

		String id = request.getParameter("id");
		Map<String, Object> map = new HashMap<String, Object>();

		try {
			if (id != null && !"".equals(id.trim())) {

				Integer ret_I = apiT_messageService.deleteT_message(Integer.parseInt(id));
				if (ret_I > 0) {
					map.put(Utils.RESULT, Utils.RESULT_RC_SUCCESS);
					map.put(Utils.MESSAGE, "删除成功！");
				} else {
					map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
					map.put(Utils.MESSAGE, "检查失败！");
				}
			}
		} catch (Exception e) {
			logger.error(e);
			e.printStackTrace();
			map.put(Utils.RESULT, Utils.RESULT_RC_CHECK_FAIL);
			map.put(Utils.MESSAGE, "系统异常！");
		}

		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		out.print(JsonUtil.object2json(map));
		out.close();
	}

}
